package com.party.core.dao.read.log;

import com.party.common.paging.Page;
import com.party.core.model.log.LogEvent;
import com.party.core.model.log.LogEventQuery;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.List;

/**
 * Created by wei.li
 *
 * @date 2017/9/5 0005
 * @time 18:01
 */

@Repository
public interface LogEventReadDao {

    /**
     * 查询日志列表
     * @param logEventQuery 日志
     * @param page 分页参数
     * @return 日志列表
     */
    List<LogEvent> listPage(LogEventQuery logEventQuery, Page page);


    /**
     * 获取日志
     * @param id 编号
     * @return 日志信息
     */
    LogEvent get(String id);

    /**
     * 用户行为列表
     * @param operatorId 操作者编号
     * @param date 时间
     * @param page 分页参数
     * @return 行为列表
     */
    List<LogEvent> behaviorList(@Param(value = "operatorId") String operatorId,
                                @Param(value = "date") String date, Page page);


    /**
     * 统计访问量
     * @param parameter 查询参数
     * @return 统计参数
     */
    List<HashMap<String, Object>> countByDate(@Param(value = "parameter") HashMap<String, Object> parameter);

}
